%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Solveur classique de poutre 1D
%	solveur classique non parallelise du probleme de traction d'une
%	poutre  
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

function sol = Solveur_classique (nombreElements, F, donnees)

% creation de la matrice elementaire
Kelem = donnees.E*donnees.S*nombreElements/donnees.L*[1,-1;-1,1];

% assemblage de la matrice totale
Kass = Assemblage(Kelem,nombreElements);

% pris en compte des C.L. par multiplicateurs de Lagrange
C = [1,zeros(1,nombreElements)];
Klag = [Kass,C';C,0];

% creation du vecteur de chargement
vecForce = [zeros(nombreElements,1);F;0];

% resolution
Ulag = Klag\vecForce;

% on garde que les deplacements
sol = Ulag(1:length(Ulag)-1);

end
